﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Ninject.Modules;
using WebSiteAdminTool.UI.ViewModels.Security.Users;
using WebSiteAdminTool.UI.Utils.Interfaces;
using WebSiteAdminTool.UI.Services.Navigation;
using WebSiteAdminTool.UI.Services.ModalDialogs;
using WebSiteAdminTool.UI.Views.Security.Users;
using WebSiteAdminTool.UI.ViewModels;
using WebSiteAdminTool.UI.ViewModels.Security.Roles;

namespace WebSiteAdminTool.UI.Ioc.Mappings
{
    public class RunTimeViewModelMappings : NinjectModule
    {
        public override void Load()
        {
            //Bind<IMainViewModel>().To<MainViewModel>().InSingletonScope();
            //Bind<IUserViewModel>().To<UserViewModel>();
            //Bind<IProductViewModel>().To<ProductViewModel>();

            // ------------------------------------ View Models ------------------------------------------------
            // global view models
            Bind<MainViewModel>().ToSelf();
            // Security - UserManagement
            Bind<CreateUserViewModel>().ToSelf();
            Bind<EditUserViewModel>().ToSelf();
            Bind<UserManagementViewModel>().ToSelf();
            Bind<UserManagementActionsViewModel>().ToSelf();
            Bind<UserListFilterViewModel>().ToSelf();
            // Security - Roles
            Bind<ManageRoleViewModel>().ToSelf();
            Bind<RoleManagementViewModel>().ToSelf();
            Bind<RoleManagementActionsViewModel>().ToSelf();
        }
    }
}
